include "TQuery.thrift"
namespace java com.iqiyi.pps.epg.api.model.web.program

struct TProgramBase{
	1:i64 id;
	2:i64 fatherId;
	3:i32 type;
	4:string addTime;
	5:string updateTime;
	6:i64 key;
	7:string value;
}


struct TProgram {
     1:i64 id;
     2:i64 fatherId;
     3:i64 qipuId;
     4:i32 type;
     5:i32 imgSummaryId;
     6:string startPlayTime;
     7:string endPlayTime;
     8:string pname;
     9:string description;
     10:string tag;
     11:i32 videoPieceLength;
     12:string audioChannel;
     13:string leftChannel;
     14:string rightChannel;
     15:bool waterMarkFlag;
     16:i64 qitanId;
     17:string weiboTopic;
     18:bool allowPopups;
     19:string addTime;
     20:bool onlineStatus;
     21:bool memberOnly;
     22:bool memberFree;
     23:string paidStartTime;
     24:string paidEndTime;
     25:string bossStatus;
     26:list<TProgramBase> relationList;
     27:bool synced;
     28:string logoUrl;
     29:i32 orderBy;
     30:string defaultLogoUrl;
     31:string pageUrl;
     32:bool allowComment;
     33:string streamStartPlayTime;
     34:string streamEndPlayTime;
     35:bool qiyiProduct;
     36:bool qiyiExclusive;
     37:bool freeStatus;
     38:i32 live;
     39:i64 carouselEpisode;
     40:i32 duration;
     41:string updateTime;
     42:string channelName;
     43:string barCode;
     44:string puyuData;
     45:i64 lastSortTime;
     46:i32 lockStatus;
     47:string referContentType;
     48:string albumName;
     49:i32 episodeGrade;
     50:i32 subscribe;
     51:i32 chatEnable;
     52:i32 chatDisplay;
     53:i64 chatRoomId;
     54:string category;
     55:i64 uid;
     56:string opUser;
     57:i32 daojuEnable;
     58:string daojuId;
     59:string daojuName;
     60:string userName;
     61:i32 formal;
     62:i32 channelLiveType;
     63:i32 playStatus;
     64:i32 recommendRate;
     65:string recommendRemark;
     66:string subjectUrl;
     67:i32 maxPlaybackPeriod;
     68:string panoFormat;
     69:i32 channelHasStream;
     70:string noticeStartTime;
     71:string noticeStopTime;
     72:i32 hot;
     73:i32 test;
     74:string projectType;
     75:string daojuStar;
     76:string resourceId;
     77:i32 snapShotType;
     78:string snapPicUrl;
     79:i32 checkType;
     80:string bossInfo;
     81:i32 chargeStatus;
     82:i32 chatRights;
     83:i32 chatFake;
     84:i32 publicLevel;
     85:i32 chatPopups;
     86:i32 advertDuration;
     87:i32 advertEnable;
     88:i32 directorEnable;
     89:string threeD;
     90:string logoHidden;
     91:string matchSummary;
     92:i32 snapShotGap;
     93:i32 vipType;
     94:string tabControls;
     95:string programTag;
     96:i32 needOA;
     97:string oaDocNo;
     98:string oaDocUrl;
     99:string oaDocEditorStatus;
     100:i32 displayRecommend;
     101:string dbtRegion;
     102:i32 directorOpen;
}

struct TProgramPage {
    1:TQuery.TPage tPage;
    2:list<TProgram> result;
}


struct TProgramBasePage {
    1:TQuery.TPage tPage;
    2:list<TProgramBase> result;
}

struct TProgramTime {
    1:i64 id;
    2:string startPlayTime;
    3:string stopPlayTime;
    4:string startStreamTime;
    5:string stopStreamTime;
}

struct TProgramLog {
    1:i64 id;
    2:i64 programId;
    3:i32 type;
    4:string descr;
    5:string user;
    6:string addTime;
}

struct TProgramLogPage {
    1:TQuery.TPage tPage;
    2:list<TProgramLog> result;
}

struct TLivingInfo{
     1:string channelName;
     2:i64 channelQipuId;
     3:i64 liveType;
     4:string programName;
     5:i64 programQipuId;
     6:string bossStatus;
     7:string pageUrl;
     8:i64 episodeGrade;
     9:string startPlayTime;
     10:string stopPlayTime;
     11:string streamInfo;

}

struct TSnapshotTask{
     1:i64 id;
     2:i64 taskId;
     3:string snapshot;
     4:string errCode;
     5:string errMsg;
     6:string addTime;
}

struct TInfoOA{
     1:i64 id;
     2:string docNo;
     3:string docStatus;
     4:string chiefEditorApprovalStatus;
     5:string liveLevel;
     6:string liveLevelABC;
     7:string addTime;
}
